package ooday03;

/*
    引用数组类型的
        给元素赋值时，需要new一个对象
        若想访问对象的数据，需要通过数组元素去打点来访问
    继承：
        作用：代码复用
        通过extends来实现继承
        超类/父类：共有的属性和行为
        派生类/子类：特有的属性和行为
        派生类可以访问派生类和超类的，但超类不能访问派生类的
        一个超类可以有多个派生类，但一个派生类只能继承一个超类----单一继承
        继承具有传递性
        JAVA规定：构造派生类之前必须先构造超类
            在派生类的构造方法中，若没有调用超类的构造方法，则默认super() 调用超类的无参构造方法
            在派生类的构造方法中若自己调用了超类的构造方法，则不再默认提供;
    super:
 */
public class RefArrayDemo {
    public static void main(String[] args) {
        int[]  arr = new int[10];        //基本类型数组
        //创建Student对象
        //若元素不赋值，则默认值为null，容易发生空指针异常
        Student[] stu = new Student[3];
        stu[0]=new Student("zs",23,"lf");
        stu[1]=new Student("ls",24,"bj");
        stu[2]=new Student("ww",22,"nj");
        //输出第一个学生的名字
        System.out.println(stu[0].name);
        //修改第二个学生的年龄为27
        stu[1].age=27;
        //第三个学生跟大家问好
        stu[2].study();

        for (int i=0;i<stu.length;i++){
            System.out.println(stu[i].name);//输出每个学生的名字
            stu[i].introduce();
        }
    }
}
